Technical Field
This disclosure relates generally to accessing data on storage devices, and more specifically to failover mechanisms for storage devices.
Description of the Related Art
Various storage protocols have been developed to facilitate accessing data on storage devices. These protocols may define physical connections between computers and storages devices, bus bandwidth speeds, command sets for accessing storage devices, addressing schemes, etc. Some protocols may also implement security features and checksum capabilities to detect errors in written and read data. Examples of various storage protocols may include small computer system interface (SCSI), SCSI remote direct memory access (RDMA), Fibre Channel, etc.
Some storage protocols may employ various techniques to accommodate network and/or drive failures. In the case of SCSI, for example, a computing device that is accessing multiple storage devices may be able to detect a loss in connectivity with one of the devices when it fails to receive a response to an issued command. This loss of connectivity may be attributable to a failure in the path coupling the device to the drive or even a failure of the drive. In such an event, the computing device may notify the underlying SCSI system of the failure and further request that the system failover operation of the failed driver to a backup storage device so that the backup storage device is available to service subsequent storage requests. In many instances, supporting such a capability can improve the reliability of a storage system.